package 剑指offer;

public class _26树的子结构 {
	/**
	 * 
	 *@time 2021年2月6日下午4:15:22
	 * 
	 *@param A
	 *@param B
	 *@return boolean
	 *
	 *@see
	 */
	 public boolean isSubStructure(TreeNode A, TreeNode B) {
		 	if(A==null||B==null) return false;
		 	//先匹配当前的元素看看是否匹配，如果不匹配再往左走，在不匹配就往右走
			return recur(A, B)||isSubStructure(A.left, B)||isSubStructure(A.right, B);
		 	
	    }
	 boolean recur(TreeNode A, TreeNode B) {
		 if(B==null) return true;
		 if(A==null||A.val!=B.val)return false;
		 return recur(A.left, B.left)&&recur(A.right, B.right);
		 
	 }

}
